Actor Phase : Weapon
{
Height 14
Weapon.PreferredSkin "DemonTechRifle-Marine"
Weapon.SelectionOrder 7980
Weapon.KickBack 60
Weapon.AmmoUse 1
Weapon.AmmoGive 60
Weapon.AmmoGive2 30
Scale 0.95 
Weapon.AmmoType "DemonAmmo"
Inventory.PickupMessage "Demon Tech Rifle"
Inventory.PickupSound "weapons/demontechload"
Obituary "%o was fried by %k's Demon Tech Rifle."
+WEAPON.AMMO_OPTIONAL
+WEAPON.NOALERT
+INVENTORY.UNDROPPABLE
States
	{
Spawn:
		5AUN A -1
		Stop
Deselect:
		TNT1 A 0 A_JumpIfInventory("PhaseUpgrade",1,"Deselect2")
		TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
		TNT1 A 0 A_TakeInventory("MineAction",1)
		TNT1 A 0 A_TakeInventory("RailgunAction",1)
		5CKG A 1 Offset(-1,35)
		5CKG A 1 Offset(-15,39)
		5CKG A 1 Offset(-35,45)
		5CKG A 1 Offset(-55,52)
		5CKG A 1 Offset(-70,60)
		5CKG A 1 Offset(-90,69)
		5CKG A 1 Offset(-105,89)
		5CKG A 1 Offset(-125,102)
		5CKG A 1 Offset(-125,102)
		5CKG A 1 Offset(-155,108)
		5CKG A 1 Offset(-155,150)
DeselectRaise:
		5CKG A 1 Offset(-1,0)
		5CKG A 1 A_Lower
		loop
Select:
		TNT1 A 0 A_JumpIfInventory("PhaseUpgrade",1,"Select2")
		TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
		TNT1 A 0 A_TakeInventory("MineAction",1)
		TNT1 A 0 A_TakeInventory("RailgunAction",1)
		5CKG A 1 Offset(-90,69)
		5CKG A 1 Offset(-70,60)
		5CKG A 1 Offset(-55,52)
		5CKG A 1 Offset(-35,45)
		5CKG A 1 Offset(-15,39)
		5CKG A 1 Offset(-1,35)
SelectRaise:
		5CKG A 1 A_Raise
Deselect2:
		TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
		TNT1 A 0 A_TakeInventory("MineAction",1)
		TNT1 A 0 A_TakeInventory("RailgunAction",1)
		4CKG A 1 Offset(-1,35)
		4CKG A 1 Offset(-15,39)
		4CKG A 1 Offset(-35,45)
		4CKG A 1 Offset(-55,52)
		4CKG A 1 Offset(-70,60)
		4CKG A 1 Offset(-90,69)
		4CKG A 1 Offset(-105,89)
		4CKG A 1 Offset(-125,102)
		4CKG A 1 Offset(-125,102)
		4CKG A 1 Offset(-155,108)
		4CKG A 1 Offset(-155,150)
DeselectRaise2:
		4CKG A 1 Offset(-1,0)
		4CKG A 1 A_Lower
		loop
Select2:
		TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
		TNT1 A 0 A_TakeInventory("MineAction",1)
		TNT1 A 0 A_TakeInventory("RailgunAction",1)
		4CKG A 1 Offset(-90,69)
		4CKG A 1 Offset(-70,60)
		4CKG A 1 Offset(-55,52)
		4CKG A 1 Offset(-35,45)
		4CKG A 1 Offset(-15,39)
		4CKG A 1 Offset(-1,35)
SelectRaise2:
		4CKG A 1 A_Raise
Ready:
		TNT1 A 0 A_JumpIfInventory("PhaseUpgrade",1,"Ready2")
		5CKG A 1 A_WeaponReady
		Loop
Ready2:
		4CKG A 1 A_WeaponReady
		Loop
Fire:
		TNT1 A 0 A_JumpIfInventory("PhaseUpgrade",1,"Fire2")
		TNT1 A 0 A_Light2
		TNT1 A 0 A_GunFlash	
		TNT1 A 0 Radius_Quake(12,6,0,1,0)
		5CKF A 1 Bright A_FireCustomMissile("ExplosiveRedOrb",0,1,0,0)	
		5CKF B 1 A_PlaySound("weapons/dtech10ksteam")
		5CKF C 1
		5CKF D 1
		5CKF E 1
		5CKG AAAAAAAAAA 1 A_FireCustomMissile("DTech10KSteam",-58+Random(-4,4),0,0,0)
		5CKG A 1 
		GoTo Ready
Fire2:
		TNT1 A 0 A_Light2
		TNT1 A 0 A_GunFlash	
		TNT1 A 0 Radius_Quake(12,6,0,1,0)
		4CKG A 25 A_PlayWeaponSound("weapons/charge15k")
		4CKF A 1 Bright A_FireCustomMissile("ExplosivePurpleOrb",0,1,0,0)	
		4CKF B 1 A_PlaySound("weapons/dtech10ksteam")
		4CKF C 1
		4CKF D 1
		4CKF E 1
		4CKG AAAAAAAAAA 1 A_FireCustomMissile("DTech10KSteam",-58+Random(-4,4),0,0,0)
		4CKG A 1 
		GoTo Ready
	}
}

ACTOR GenericWeakOrb2
{
  Radius 5
  Speed 10
  Height 6
  damage (1)
  Scale 0.35
  damagetype "Player"
  Projectile
  +strifedamage
  +Ripper
  RenderStyle Add
  DeathSound "lildead"
  States 
  {
  Spawn:
    CLBA D 1 Bright
    Loop
  Death:
	TNT1 A 0
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("WhiteProjParticle",0,0,0,frandom(-4,4),frandom(-4,4),frandom(-4,4),random(0,359))
    CLBA D 1 Bright A_FadeOut(0.2)
    Goto Death+1
  }
}

ACTOR ExplosiveRedOrb : GenericWeakOrb2
{
  Speed 20
  SeeSound "BIGMISSILE"
  DeathSound "FANTASYSEAL"
  damage (random(100,150))
  States
  {
  Spawn:
	TNT1 A 0 A_PlaySoundEx("weapons/dtech10kball","Voice",1)
    CLBB B 1 Bright A_SpawnItemEx("RedProjParticleSuperLarge2",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	TNT1 A 0 A_SpawnItemEx("RedProjParticleSuperLarge2",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
    Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_Explode(200,400)
	TNT1 A 0 A_SpawnItem("RedProjExplodeLarge")
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("RedProjParticleSuperLarge",0,0,0,frandom(-4,4),frandom(-4,4),frandom(-4,4),random(0,359))
    CLBB B 1 Bright A_FadeOut(0.2)
    Goto Death+3
  }
}

ACTOR ExplosivePurpleOrb : GenericWeakOrb2
{
  Speed 10
  SeeSound "BIGMISSILE"
  DeathSound "FANTASYSEAL"
  Scale 2
  damage (random(200,300))
  States
  {
  Spawn:
	TNT1 A 0 Bright A_CustomMissile("PCommDevastatorBolt",6,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
	TNT1 A 0 Bright A_SpawnItemEx("DevastatorLightningPurple",random(6,-6),random(6,-6),random(6,-6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_PlaySoundEx("weapons/dtech10kball","Voice",1)
	TNT1 A 0 Bright A_CustomMissile("PCommDevastatorBolt",6,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
	TNT1 A 0 Bright A_SpawnItemEx("DevastatorLightningPurple",random(6,-6),random(6,-6),random(6,-6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
    CLBB J 1 Bright A_SpawnItemEx("PurpleProjParticleSuperLarge3",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	TNT1 A 0 Bright A_CustomMissile("PCommDevastatorBolt",6,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
	TNT1 A 0 Bright A_SpawnItemEx("DevastatorLightningPurple",random(6,-6),random(6,-6),random(6,-6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("PurpleProjParticleSuperLarge3",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	TNT1 A 0 Bright A_CustomMissile("PCommDevastatorBolt",6,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
	TNT1 A 0 Bright A_SpawnItemEx("DevastatorLightningPurple",random(6,-6),random(6,-6),random(6,-6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
    Loop
  Death:
		TNT1 A 0
		TNT1 A 0 A_Explode(400,600)
		TNT1 A 0 A_SpawnItem("PurpleProjExplodeLarge2")
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,18,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,36,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,54,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,72,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,108,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,126,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,144,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,144,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,162,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,196,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,216,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,234,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,252,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,288,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,306,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,324,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,342,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAAAAAAAA 0 A_SpawnItemEx("PurpleProjParticleSuperLarge3",0,0,0,frandom(-4,4),frandom(-4,4),frandom(-4,4),random(0,359))
		CLBB J 1 Bright A_FadeOut(0.2)
		STOP
  }
}

Actor PhaseUpgrade : inventory
{
+COUNTITEM
+INVENTORY.UNDROPPABLE
+INVENTORY.HUBPOWER
+INVENTORY.PERSISTENTPOWER
Inventory.Amount 1
Inventory.MaxAmount 1
Inventory.Pickupsound "upgrade/pickup"
Inventory.Pickupmessage "BFG9500 upgrade!"
Tag "Bfg Upgrade"
States
	{
	Spawn:
		SMOD ABCDCB 3
		Loop
	}
}

Actor PurpleProjParticleSuperLarge3 : PurpleProjParticleSuperLarge2
{
		Scale 2
}

Actor PurpleProjExplodeLarge2 : PurpleProjExplodeLarge
{
		Scale 2
}